home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MATHEMAT / STATISTI / 0850D.ZIP / SET4.ARC / CHI-DIST.PAS < prev    next >
Pascal/Delphi Source File  |  1979-12-31  |  4KB  |  122 lines

  1. VAR SWITCH4,N,NUMSAMPS:INTEGER;
  2.     COEFF,CRIT52,CRIT51,CRIT12,CRIT11,CRIT012,CRIT011:REAL;
  3.     SWITCH3,C:CHAR;
  4.     SWITCH2:BOOLEAN;
  5.  
  6. PROCEDURE FINDCRITICALVALUES (DEGFREE:INTEGER);
  7. VAR TEMP1,TEMP2:REAL;
  8.  
  9. PROCEDURE VALS(C52,C51,C12,C11,C012,C011:REAL);
  10. BEGIN
  11. CRIT52:=C52;
  12. CRIT51:=C51;
  13. CRIT12:=C12;
  14. CRIT11:=C11;
  15. CRIT012:=C012;
  16. CRIT011:=C011;
  17. END;
  18. PROCEDURE LOOKUP (DF:INTEGER);
  19. BEGIN
  20. CASE DF OF
  21. 1: VALS (2.71,3.84,5.02,6.63,7.88,10.83);
  22. 2: VALS (4.61,5.99,7.38,9.21,10.60,13.82);
  23. 3: VALS (6.25,7.81,9.35,11.34,12.84,16.26);
  24. 4: VALS (7.78,9.49,11.14,13.27,14.86,18.47);
  25. 5: VALS (9.24,11.07,12.83,15.09,16.75,20.52);
  26. 6: VALS (10.65,12.59,14.45,16.81,18.55,22.46);
  27. 7: VALS (12.02,14.07,16.01,18.48,20.28,24.32);
  28. 8: VALS (13.36,15.51,17.53,20.09,21.95,26.13);
  29. 9: VALS (14.68,16.92,19.02,21.67,23.59,27.88);
  30. 10: VALS (15.99,18.31,20.48,23.21,25.19,29.59);
  31. 11: VALS (17.28,19.68,21.82,24.73,26.76,31.26);
  32. 12: VALS (18.55,21.03,23.34,26.22,28.30,32.91);
  33. 13: VALS (19.81,22.36,24.74,27.69,29.82,34.52);
  34. 14: VALS (21.06,23.68,26.12,29.14,31.32,36.12);
  35. 15: VALS (22.31,25.00,27.49,30.58,32.80,37.70);
  36. 16: VALS (23.54,26.30,28.85,32.00,34.27,39.25);
  37. 17: VALS (24.77,27.59,30.19,33.41,35.72,40.79);
  38. 18: VALS (25.99,28.87,31.53,34.81,37.16,42.31);
  39. 19: VALS (27.20,30.14,32.85,36.19,38.58,43.82);
  40. 20: VALS (28.41,31.41,34.17,37.57,40.00,45.32);
  41. 21: VALS (29.62,32.67,35.48,38.93,41.40,46.80);
  42. 22: VALS (30.81,33.92,36.78,40.29,42.80,48.27);
  43. 23: VALS (32.01,35.17,38.08,41.64,44.18,49.73);
  44. 24: VALS (33.20,36.42,39.36,42.98,45.56,51.18);
  45. 25: VALS (34.38,37.65,40.65,44.31,46.93,52.62);
  46. 26: VALS (35.56,38.89,41.92,45.64,48.29,54.05);
  47. 27: VALS (36.74,40.11,43.19,46.96,49.65,55.48);
  48. 28: VALS (37.92,41.34,44.46,48.28,50.99,56.89);
  49. 29: VALS (39.09,42.56,45.72,49.59,52.34,58.30);
  50. 30: VALS (40.26,43.77,46.98,50.89,53.67,59.70);
  51. 31: VALS (51.81,55.76,59.34,63.69,66.76,73.40);
  52. 32: VALS (63.17,67.50,71.42,76.15,79.49,86.66);
  53. 33: VALS (74.40,79.08,83.30,88.38,91.95,99.61);
  54. 34: VALS (85.53,90.53,95.02,100.43,104.22,112.32);
  55. 35: VALS (96.58,101.88,106.63,112.33,116.32,124.84);
  56. 36: VALS (107.57,113.14,118.14,124.12,128.30,137.21);
  57. 37: VALS (118.50,124.34,129.56,135.81,140.17,149.45);
  58. END;
  59. END;
  60. BEGIN
  61. LOOKUP (DEGFREE);
  62. WRITE ('THE CRITICAL VALUE AT .05 (ONE TAILED) IS: ');
  63. WRITELN (CRIT52:5:2);
  64. WRITE ('THE CRITICAL VALUE AT .05 (TWO TAILED) IS: ');
  65. WRITELN (CRIT51:5:2);
  66. WRITE ('THE CRITICAL VALUE AT .01 (ONE TAILED) IS: ');
  67. WRITELN (CRIT12:5:2);
  68. WRITE ('THE CRITICAL VALUE AT .01 (TWO TAILED) IS: ');
  69. WRITELN (CRIT11:5:2);
  70. WRITE ('THE CRITICAL VALUE AT .001 (ONE TAILED) IS: ');
  71. WRITELN (CRIT012:5:2);
  72. WRITE ('THE CRITICAL VALUE AT .001 (TWO TAILED) IS: ');
  73. WRITELN (CRIT011:5:2);
  74. IF SWITCH4=1 THEN BEGIN
  75. WRITELN (LST,'THE CRITICAL VALUE AT .05 (ONE TAILED) IS: ',CRIT52:5:2);
  76. WRITELN (LST,'THE CRITICAL VALUE AT .05 (TWO TAILED) IS: ',CRIT51:5:2);
  77. WRITELN (LST,'THE CRITICAL VALUE AT .01 (ONE TAILED) IS: ',CRIT12:5:2);
  78. WRITELN (LST,'THE CRITICAL VALUE AT .01 (TWO TAILED) IS: ',CRIT11:5:2);
  79. WRITELN (LST,'THE CRITICAL VALUE AT .001 (ONE TAILED) IS: ',CRIT012:5:2);
  80. WRITELN (LST,'THE CRITICAL VALUE AT .001 (TWO TAILED) IS: ',CRIT011:5:2);
  81. END;
  82. END;
  83.  
  84. BEGIN
  85. REPEAT
  86. WRITELN ('CHI SQUARED SIGNIFICANCE');
  87. WRITE ('DO YOU WANT A PRINTOUT (Y/N)');
  88. READLN (SWITCH3);
  89. IF SWITCH3='Y' THEN SWITCH4:=1;
  90. IF SWITCH3='y' THEN SWITCH4:=1;
  91. IF SWITCH4=1 THEN BEGIN
  92. WRITELN (LST,'CHI SQUARED SIGNIFICANCE');
  93. END;
  94. WRITE ('CHI SQUARE STATISTIC = ');
  95. READLN (COEFF);
  96. WRITE ('DEGREES OF FREEDOM = ');
  97. READLN (N);
  98. IF SWITCH4=1 THEN BEGIN
  99. WRITELN (LST,'CHI SQUARE STATISTIC = ',COEFF:8:3);
  100. WRITELN (LST,'DEGREES OF FREEDOM = ',N);
  101. END;
  102. NUMSAMPS:=N;
  103. IF N>30 THEN NUMSAMPS:=31;
  104. IF N>40 THEN NUMSAMPS:=32;
  105. IF N>50 THEN NUMSAMPS:=33;
  106. IF N>60 THEN NUMSAMPS:=34;
  107. IF N>70 THEN NUMSAMPS:=35;
  108. IF N>80 THEN NUMSAMPS:=36;
  109. IF N>90 THEN NUMSAMPS:=37;
  110. FINDCRITICALVALUES (NUMSAMPS);
  111. WRITE ('DO YOU WANT ANOTHER RUN, (Y/N): ');
  112. READLN (C);
  113. WHILE NOT (C IN ['Y','y','n','N']) DO
  114. BEGIN
  115. WRITE ('TYPE Y FOR YES, OR N FOR NO: ');
  116. READLN (C);
  117. END;
  118. SWITCH2:=C IN ['N','n'];
  119. UNTIL SWITCH2
  120. END.
  121.  
  122.